home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / tex / mf / inputs / passaulogos / unilogo50.mf < prev    next >
Text File  |  1994-06-09  |  4KB  |  128 lines

  1. %
  2. % this is file 'unilogo50mm.mf' written by Stefan Gastinger, August 1988.
  3. %
  4.  
  5. %mode=CanonCX;
  6. mode_setup;
  7. special "grayfont grays";
  8.  
  9. numeric Faktor;  Faktor      := 1;
  10. numeric Rotation; Rotation     := 0;
  11.  
  12. numeric Durchmesser#; Durchmesser# := Faktor*50mm#;
  13. numeric PenThin#; PenThin#     := 0.5*0.001*Durchmesser#;
  14. numeric PenThick#; PenThick#    := 0.5*0.003*Durchmesser#;
  15. numeric PenXThick#; PenXThick#   := 0.008*Durchmesser#;
  16. numeric PenXXThick#; PenXXThick#  := 0.016*Durchmesser#;
  17. numeric CharWidth#; CharWidth#   := Durchmesser#;
  18. numeric CharHeight#; CharHeight#  := Durchmesser#;
  19. numeric Dummy#;  Dummy#      := 10mm#;
  20.  
  21. define_pixels( CharWidth, CharHeight );
  22. define_pixels( PenThin, Dummy );
  23. define_pixels( PenThick, Dummy );
  24. define_pixels( PenXThick, Dummy );
  25. define_pixels( PenXXThick, Dummy );
  26.  
  27. def Distance = (0.022*CharHeight) enddef;
  28.  
  29. numeric LetterHeight; LetterHeight := 0.107*CharHeight;
  30. numeric FigureHeight; FigureHeight := 0.94*(CharHeight-LetterHeight-Distance);
  31. numeric FigureWidth;  FigureWidth  := 0.94*(FigureHeight*145/245);
  32. numeric Radius;       Radius     := 0.5*(CharWidth-PenXThick);
  33.  
  34.  
  35. beginchar( "a", CharWidth#, CharHeight#, 0 );
  36.  
  37. input unilogos;
  38.  
  39. %%% Test-Makros:
  40.    %def   mode = draw enddef;
  41.    %def unmode = draw enddef;
  42.     def   mode =   fill enddef;
  43.     def unmode = unfill enddef;
  44.  
  45. %%% Stift-Dicken:
  46.     def penthin    = pickup pencircle scaled PenThin    enddef;
  47.     def penthick   = pickup pencircle scaled PenThick   enddef;
  48.     def penXthick  = pickup pencircle scaled PenXThick  enddef;
  49.     def penXXthick = pickup pencircle scaled PenXXThick enddef;
  50.  
  51. %%% Drehen des Button um den Mittelpunkt:
  52.     CopySystem;
  53.     MoveSystem(  0.5*CharWidth,  0.5*CharHeight );
  54.     RotateSystem( Rotation, Rotation );
  55.     MoveSystem( -0.5*CharWidth, -0.5*CharHeight );
  56.  
  57. %%% Verschieben des Button zum Testen am Bildschirm:
  58.   %  MoveSystem( -30, -95 );
  59.  
  60. %%% Stift aufnehmen:
  61.     pickup pencircle;
  62.  
  63. %%%%% Drawing Button %%%%%
  64. EnterSystem( (0.5*CharWidth,0.5*CharHeight), 1, Radius, 0, 1, Radius, 0 );
  65.    penXthick; show reading file; input easycircle;
  66. LeaveSystem;
  67.  
  68.  
  69. %%%%% Drawing Figure %%%%%
  70. EnterSystem( (0.5*(CharWidth-FigureWidth), Distance ),
  71.       145, FigureWidth , 0,
  72.       245, FigureHeight, 0
  73.     );
  74.        show reading file; input   filled;
  75.    penthin; show reading file; input   thin;
  76.    penthick; show reading file; input   thick;
  77.    penXthick; show reading file; input   Xthick;
  78.    penXXthick; show reading file; input   XXthick;
  79. LeaveSystem;
  80.  
  81. def Letter( expr w, h, r ) =
  82.     CopySystem;
  83.     MoveSystem( 0.5*CharWidth, 0.5*CharHeight );
  84.     RotateSystem( r, r );
  85.     MoveSystem( 0, (0.5*CharHeight)-LetterHeight-Distance );
  86.     SetInputScale ( w, h );
  87.     SetOutputScale( 0.95,0.95 );
  88.     SetOutputScale( LetterHeight/h*w/CharWidth, LetterHeight/CharHeight );
  89.     MoveSystem( -0.5*w, 0 );
  90.     show reading file;
  91. enddef;
  92.  
  93. %%%%% Drawing Letters %%%%%
  94. numeric rot; rot = -1;
  95.  
  96.    penthick;
  97.    Letter( 145, 142,  142.0+rot ); input  v; LeaveSystem;
  98.    Letter( 149, 142,  127.0+rot ); input  n; LeaveSystem;
  99.    Letter(  64, 142,  115.0+rot ); input  i; LeaveSystem;
  100.    Letter( 145, 142,  105.0+rot ); input  v; LeaveSystem;
  101.    Letter( 125, 140,   92.0+rot ); input  e; LeaveSystem;
  102.    Letter( 135, 139,   76.6+rot ); input  r; LeaveSystem;
  103.    Letter(  97, 146,   62.4+rot ); input  s; LeaveSystem;
  104.    Letter(  64, 142,   52.7+rot ); input  i; LeaveSystem;
  105.    Letter( 123, 142,   42.2+rot ); input  t; LeaveSystem;
  106.    Letter( 149, 146,   29.7+rot ); input  a; LeaveSystem;
  107.    Letter(  97, 146,   14.6+rot ); input  s; LeaveSystem;
  108.  
  109.    Letter( 116, 142,   -8.5+rot ); input  p; LeaveSystem;
  110.    Letter( 149, 146,  -19.5+rot ); input  a; LeaveSystem;
  111.    Letter( 123, 142,  -33.5+rot ); input  t; LeaveSystem;
  112.    Letter( 149, 146,  -46.0+rot ); input  a; LeaveSystem;
  113.    Letter( 145, 142,  -58.0+rot ); input  v; LeaveSystem;
  114.    Letter(  64, 142,  -68.2+rot ); input  i; LeaveSystem;
  115.    Letter( 125, 140,  -80.1+rot ); input  e; LeaveSystem;
  116.    Letter( 149, 142,  -96.5+rot ); input  n; LeaveSystem;
  117.    Letter(  97, 146, -110.0+rot ); input  s; LeaveSystem;
  118.    Letter(  64, 142, -120.0+rot ); input  i; LeaveSystem;
  119.    Letter(  97, 146, -131.0+rot ); input  s; LeaveSystem;
  120.  
  121. %SystemInfo;
  122.  
  123. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  124.  
  125. endchar;
  126. %showit;
  127. end;
  128.